Aspects of the present invention relate to electronic devices including but not limited to communications devices adapted to run mobile web applications or web apps, and more particularly to a method, device and computer program product for a seamless mobile web app infrastructure.
New applications or apps for installation and use on mobile devices, such as smart phones, pad computers and the like are continuously being created that provide various types of features, functions and operations. An application in general utilizes a platform infrastructure on the mobile device for operation. Native applications can access device specific resources through the use of this platform infrastructure. All smart phones provide a native browser but limit the ability for a web application or application that is accessed over a network, such as the Internet or other network, to use the device specific resources. Accessing the device specific resources under these circumstances is not seamless and may require the user to perform certain operations in order for the web application to access the device resources. Being able to access native device resources by a web application has been partially addressed with the advent of software such as PhoneGap. PhoneGap essentially fills in the gaps with documented new features for the JavaScript navigator object. PhoneGap is an open-source mobile development framework developed by Nitobi Software and IBM. PhoneGap is a trademark of Nitobi Software, Inc. in the United State, other countries or both. IBM is a trademark of International Business Machines, Inc. in the United States, other countries or both. PhoneGap enables software programmers to build applications for mobile devices using JavaScript, Hypertext Mark-up Language (HTML), Cascading Style Sheets (CSS) or similar languages, rather than less known languages such as Objective-C. The browser solution is advantageous in that it resolves security issues and provides proven layouts and user interface (UI) mechanisms. On the other hand, these web applications or web apps are not applications by definition as they have to establish a connection to a web site for the execution of code and layout. This process may also not be seamless and may require additional input from the user. A web app is basically a website built with web standard technologies and is available from a uniform resource locator (URL) specification. This is in contrast with native apps which are installed on the device and use native application programming interfaces (APIs) and languages. Because web apps require accessing a website over a network there are security issues that need to be addressed. Additionally, the web app model is complex and not seamless as discussed above. Accordingly, there is a need for a new model that can overcome these security and user interface issues.